package cc.cc4414.spring.common.enums;

/**
 * 通用枚举接口，key-value形式的枚举可直接实现该接口<br>
 *
 * @author cc 2021年05月17日
 */
public interface KeyValueEnum<K, V> {
    /**
     * 获取代码（key）
     *
     * @return 代码
     */
    K getCode();

    /**
     * 获取信息（value）
     *
     * @return 信息
     */
    V getMessage();

    /**
     * 通过code来比较枚举值是否相同
     *
     * @param code 代码
     * @return 如果给定字符串与此枚举项的code相同，则为true；否则为false
     */
    default boolean equalsCode(K code) {
        return getCode().equals(code);
    }
}
